package day06;
//方法的演示
public class MethodDemo {
    public static void main(String[] args) {//方法和方法是并列的
        /*
        //sayHi();//编译错误,有参则必须传参
        //sayHi(250);//编译错,参数类型必须匹配
        sayHi("zhangsan");//String name = "zhangsan"//-----实参
        sayHi("lisi");//String name = "lisi"//-----实参
        sayHello("lisi",17);//-----实参
        // say();
        sayHello("zhangsan",59);

         double a = getNum();//getNum()的值就是return后的那个数
        System.out.println(a);

        int c = plus(10,10);//第一种
        System.out.println(c);//模拟对返回值的后续操作

        int m =10,n=20;         //第二种
        int mn = plus(m,n);//传的是m,n里面的数
        System.out.println(mn);//模拟对返回值的后续操作

        int q =100,w=100;
        int e= plus(q,w);
        System.out.println(e);

         */


        /*
        //模仿两个不同的访问,所以方法尽量独立,需要在调用
        int [] d = testArray();//模拟第一个人的访问
        System.out.println(d.length);//

        int[] f =testArray();//模拟第二个人的访问
        for (int i = 0; i < f.length; i++) {
            System.out.println(f[i]);
        }

         */
        /*
        int [] a = TestArray(5,10);
        System.out.println("数组的长度为:"+a.length);
        for (int i = 0; i < a.length; i++) {
            System.out.println(a[i]);
        }
        int []b = TestArray(10,20);
        System.out.println("第一个元素的值为:"+b[0]);
        for (int i = 0; i < b.length; i++) {
            System.out.println(b[i]);
        }

         */

        aMethod();
        System.out.println(555);

        }

        /*
    //有参无返回值---有参数据是活的
    public static void sayHi(String name){//-----形参
        System.out.println("大家好,我叫:"+name+",今年39岁了");
    }

    //有参无返回值
    public static void sayHello(String name,int age){//-----形参
        if (age >= 60) {//在某种特定条件下,提前结束方法
            return;//结束方法的执行
        }
        System.out.println("大家好,我叫:"+name+",今年"+age+"岁了");
    }

    //无参无返回值----无参代表数据定死了
    public static void say(){
        System.out.println("大家好,我叫:???,今年39岁了");
    }


        //无参有返回值
    public static double getNum(){
        //在有返回值的方法中,必须通过return来返回数据
        //return;//编译错误,return后必须跟一个数据
        //return"abc";//编译错误,return后的数据的类型必须与返回值类型匹配
        return  9;//1)结束方法的执行  2)返回结果给调用方
    }
    public static int plus(int a,int b){
        int sum = a+b;
        return sum;
    }
     */

        /*
    public static int[] testArray(){
        int []arr = new int[10];
        for (int i = 0; i < arr.length; i++) {
            arr[i]= (int) (Math.random()*100);
        }
        return  arr;
    }

     */


        /*
        //扩展练习
    public static int [] TestArray(int len, int max){
        int []arr = new int[len];
        for (int i = 0; i < arr.length; i++) {
            arr[i]=(int)(Math.random()*(max+1));
        }
        return arr;
    }

         */
        public static void aMethod(){
            System.out.println(111);
            bMethod();//嵌套调用
            System.out.println(222);
        }
        public static void bMethod(){
            System.out.println(333);
        }

}




